概述
捕获组是正则表达式中用括号 ()
包裹的部分,它允许你对匹配的文本进行分组。每一对括号都表示一个捕获组,它可以包含一个或多个字符,也可以包含其他正则表达式元字符。捕获组有以下几个主要用途:
特性
-
分组: 捕获组允许你将正则表达式的一部分组合在一起,并将其视为一个整体。这样,你可以在后续的模式中引用这个分组。
例如,
(abc)
表示一个捕获组,匹配字符串中的 "abc"。 -
引用: 你可以在正则表达式或替换字符串中引用捕获组的内容。在大多数正则表达式引擎中,你可以使用
\1
、\2
、\3
等来引用第一个、第二个、第三个捕获组的内容。例如,如果使用
(abc)(\d)
匹配 "abc123",可以在替换字符串中使用$1
来引用第一个捕获组("abc"),使用$2
来引用第二个捕获组("123")。 -
捕获匹配的部分: 当正则表达式匹配一个字符串时,捕获组允许你提取匹配的特定部分。
例如,对于正则表达式
(\d{3})-(\d{4})
,如果匹配了字符串 "123-4567",则第一个捕获组包含 "123",第二个捕获组包含 "4567"。
在 Notepad 中,你可以在查找和替换中使用捕获组。在替换字符串中,你可以使用 $1
、$2
等来引用捕获组。在查找中,你可以使用捕获组来定义模式。
简单示例
abc def ght
正则表达式
(abc)(.*?)(ght)
替换
\1 ??? \3
或者
$1 ??? $3
结果
abc ??? ght